﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using Pg.BioMedics.SDR.Entities;

namespace Pg.BioMedics.SDR.Services.Algorithms
{
    /// <summary>
    /// Represents generic SDR algorithm
    /// </summary>
    public interface IRSVAlgorithm
    {
        /// <summary>
        /// Evaluates algorithm logic agains set of the given tokens.
        /// Q is a set of tokens extracted from the query, D is a set of 
        /// tokens extracted from the document.
        /// </summary>
        /// <param name="Q">Query tokens</param>
        /// <param name="D">Document tokens</param>
        /// <returns>Result RSV value</returns>
        double Calculate(Token[] Q, Token[] D);
    }
}
